As virtualization technology continues to mature, an increasing number of enterprises deploy virtualization platforms to provide virtual desktops residing in the cloud. A virtual desktop is a desktop operating system running inside a virtual machine that resides in a physical server. The desktop components are decoupled from the physical servers and delivered as a managed service from a centralized location such as a datacenter or from the cloud. End users can access these virtual desktops from client machines. An enterprise's information technology administrator can virtualize operating system, applications, and user data to securely deliver virtual desktops as a service to the users. Users can access their virtual desktops from any location when needed.
In virtual desktop infrastructure (VDI) deployments, a connection broker establishes virtual desktop sessions between users and virtual machines executing in the cloud. Typically, a cluster of connection brokers serve a large number of virtual machines. These connection brokers may be implemented in a monolithic shared-everything architecture. For example, in the VMware View® VDI system, the connection brokers replicate virtual machine state information amongst themselves so that any given connection broker maintains complete state information of all the virtual machines and can connect a user with any available virtual machine.
A VDI system may need to scale its service capacity to meet increasing customer demands. Some organizations may require highly scalable deployments (e.g., above ten thousand desktops). Such organizations may eventually need to deploy more than a million desktops. The monolithic shared-everything architecture may present a scalability bottleneck as the number of deployments approaches ten thousand virtual desktops. Various approaches to handle larger loads include attempts to improve an individual cluster's scalability and linking or federating clusters of connection brokers. Unfortunately, such approaches require complex configurations that provide only marginal or limited improvements in scalability and are insufficiently effective for scaling the service capacity to the required high levels.